package com.kujie.ai.config;

import org.springframework.context.annotation.Configuration;

/**
 * McpClient配置
 *
 * @author check
 * @date 2025-07-10
 */
@Configuration
public class McpClientConfig {
//    @Bean
//    public CommandLineRunner predefinedQuestions(ChatClient.Builder huggingfaceChatModel,
//                                                 ToolCallbackProvider tools,
//                                                 ConfigurableApplicationContext context) {
//        return args -> {
//            // 构建ChatClient并注入MCP工具
//            ChatClient chatClient = huggingfaceChatModel
//                    .defaultToolCallbacks(tools.getToolCallbacks())
//                    .build();
//
//            // 创建Scanner对象用于接收用户输入
//            Scanner scanner = new Scanner(System.in);
//
//            System.out.println(">>> 欢迎使用问答系统！输入'exit'退出程序。");
//
//            while (true) {
//                // 提示用户输入问题
//                System.out.print("\n>>> QUESTION: ");
//                String userInput = scanner.nextLine();
//
//                // 如果用户输入"exit"，则退出循环
//                if ("exit".equalsIgnoreCase(userInput)) {
////                    System.out.println(">>> 已退出问答系统。");
////                    break;
//                }
//
////                // 1. 定义系统提示（要求逐步推理）
////                String systemPrompt = """
////                        请按JSON格式输出：
////                        {
////                          "reasoning_steps": [步骤1, 步骤2, ...],
////                          "process": [步骤1, 步骤2, ...],
////                          "final_answer": "结果信息"
////                        }
//
//
//                String systemPrompt = """
//                        请按JSON格式输出：
//                         思考过程：
//                         [执行操作时的思考过程]
//                         用户需求:
//                         [用户需求需要详细描述]
//
//                         处理过程（不展示工具调用和参数信息）：
//                         1) [重述问题]
//                         2) [解决步骤1]
//                         3) [解决步骤2]
//                         ...
//
//                         处理结果：
//                         [用户的需求经过什么样的步骤得到了处理，处理结果是否成功]
//
//                         自我分析：
//                         [通过得到的数据进行自我分析，给用户展示数据]
//                        """ ;
//
//                // 2. 构建用户提示
//                String userPrompt = "问题：" + userInput;
//
//                // 3. 配置模型参数（可选）
//                OpenAiChatOptions options = OpenAiChatOptions.builder().build();
//
//                // 4. 组装 Prompt 并调用模型
//                Prompt prompt = new Prompt(
//                        List.of(
//                                new SystemMessage(systemPrompt),
//                                new UserMessage(userPrompt)
//                        ),
//                        options
//                );
//
//                // 使用ChatClient与LLM交互
//                try {
//                    System.out.println("\n>>> ASSISTANT: " + chatClient.prompt(prompt).call().content());
//                } catch (Exception e) {
//                    System.out.println("\n>>> ERROR: 无法处理您的请求，请稍后再试。");
//                    e.printStackTrace();
//                }
//            }
//
//            // 关闭Spring上下文
////            context.close();
////            scanner.close();
//        };
//    }
}